package com.open.capacity.workflow3.service;

import cn.hutool.system.UserInfo;
import com.open.capacity.model.system.SysUser;
import com.open.capacity.workflow3.entity.NwfScheme;

import com.open.capacity.commons.PageResult;
import com.open.capacity.workflow3.entity.NwfSchemeAuth;
import com.open.capacity.workflow3.entity.NwfSchemeinfo;

import java.util.Map;
import java.util.List;

/**
 * @author
 * @email
 * @date 2023-11-02 21:21:15
 */
public interface NwfSchemeService {
    PageResult<NwfSchemeinfo> getInfoPageList(Map<String, Object> params);

    List<NwfSchemeinfo> getInfoList(SysUser userInfo);

    List<NwfSchemeinfo> getInfoList();

    NwfSchemeinfo getInfoEntity(String keyValue);

    NwfSchemeinfo getInfoEntityByCode(String code);

    List<NwfSchemeAuth> getAuthList(String schemeInfoId);

    PageResult<NwfScheme> getSchemePageList(String schemeInfoId, Map<String, Object> params);

    NwfScheme getSchemeEntity(String keyValue);

    void delete(String keyValue);

    void save(String keyValue, NwfSchemeinfo infoEntity, NwfScheme schemeEntity, List<NwfSchemeAuth> authList);

    void updateScheme(String schemeInfoId, String schemeId);

    void updateState(String schemeInfoId, int state);
}

